home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright (c) 1999 XFree86 Inc
- */
- /* $XFree86: xc/include/extensions/xf86dga.h,v 3.20 1999/10/13 04:20:48 dawes Exp $ */
-
- #ifndef _XF86DGA_H_
- #define _XF86DGA_H_
-
- #include <X11/Xfuncproto.h>
- #include <X11/extensions/xf86dga1.h>
-
- #define X_XDGAQueryVersion 0
-
- /* 1 through 9 are in xf86dga1.h */
-
- /* 10 and 11 are reserved to avoid conflicts with rogue DGA extensions */
-
- #define X_XDGAQueryModes 12
- #define X_XDGASetMode 13
- #define X_XDGASetViewport 14
- #define X_XDGAInstallColormap 15
- #define X_XDGASelectInput 16
- #define X_XDGAFillRectangle 17
- #define X_XDGACopyArea 18
- #define X_XDGACopyTransparentArea 19
- #define X_XDGAGetViewportStatus 20
- #define X_XDGASync 21
- #define X_XDGAOpenFramebuffer 22
- #define X_XDGACloseFramebuffer 23
- #define X_XDGASetClientVersion 24
- #define X_XDGAChangePixmapMode 25
- #define X_XDGACreateColormap 26
-
-
- #define XDGAConcurrentAccess 0x00000001
- #define XDGASolidFillRect 0x00000002
- #define XDGABlitRect 0x00000004
- #define XDGABlitTransRect 0x00000008
- #define XDGAPixmap 0x00000010
-
- #define XDGAInterlaced 0x00010000
- #define XDGADoublescan 0x00020000
-
- #define XDGAFlipImmediate 0x00000001
- #define XDGAFlipRetrace 0x00000002
-
- #define XDGANeedRoot 0x00000001
-
- #define XF86DGANumberEvents 7
-
- #define XDGAPixmapModeLarge 0
- #define XDGAPixmapModeSmall 1
-
- #define XF86DGAClientNotLocal 0
- #define XF86DGANoDirectVideoMode 1
- #define XF86DGAScreenNotActive 2
- #define XF86DGADirectNotActivated 3
- #define XF86DGAOperationNotSupported 4
- #define XF86DGANumberErrors (XF86DGAOperationNotSupported + 1)
-
-
- typedef struct {
- int num; /* A unique identifier for the mode (num > 0) */
- char *name; /* name of mode given in the XF86Config */
- float verticalRefresh;
- int flags; /* DGA_CONCURRENT_ACCESS, etc... */
- int imageWidth; /* linear accessible portion (pixels) */
- int imageHeight;
- int pixmapWidth; /* Xlib accessible portion (pixels) */
- int pixmapHeight; /* both fields ignored if no concurrent access */
- int bytesPerScanline;
- int byteOrder; /* MSBFirst, LSBFirst */
- int depth;
- int bitsPerPixel;
- unsigned long redMask;
- unsigned long greenMask;
- unsigned long blueMask;
- short visualClass;
- int viewportWidth;
- int viewportHeight;
- int xViewportStep; /* viewport position granularity */
- int yViewportStep;
- int maxViewportX; /* max viewport origin */
- int maxViewportY;
- int viewportFlags; /* types of page flipping possible */
- int reserved1;
- int reserved2;
- } XDGAMode;
-
-
- typedef struct {
- XDGAMode mode;
- unsigned char *data;
- Pixmap pixmap;
- } XDGADevice;
-
-
- #ifndef _XF86DGA_SERVER_
- _XFUNCPROTOBEGIN
-
- typedef struct {
- int type;
- unsigned long serial;
- Display *display;
- int screen;
- Time time;
- unsigned int state;
- unsigned int button;
- } XDGAButtonEvent;
-
- typedef struct {
- int type;
- unsigned long serial;
- Display *display;
- int screen;
- Time time;
- unsigned int state;
- unsigned int keycode;
- } XDGAKeyEvent;
-
- typedef struct {
- int type;
- unsigned long serial;
- Display *display;
- int screen;
- Time time;
- unsigned int state;
- int dx;
- int dy;
- } XDGAMotionEvent;
-
- typedef union {
- int type;
- XDGAButtonEvent xbutton;
- XDGAKeyEvent xkey;
- XDGAMotionEvent xmotion;
- long pad[24];
- } XDGAEvent;
-
- Bool XDGAQueryExtension(
- Display *dpy,
- int *eventBase,
- int *erroBase
- );
-
- Bool XDGAQueryVersion(
- Display *dpy,
- int *majorVersion,
- int *minorVersion
- );
-
- XDGAMode* XDGAQueryModes(
- Display *dpy,
- int screen,
- int *num
- );
-
- XDGADevice* XDGASetMode(
- Display *dpy,
- int screen,
- int mode
- );
-
- Bool XDGAOpenFramebuffer(
- Display *dpy,
- int screen
- );
-
- void XDGACloseFramebuffer(
- Display *dpy,
- int screen
- );
-
- void XDGASetViewport(
- Display *dpy,
- int screen,
- int x,
- int y,
- int flags
- );
-
- void XDGAInstallColormap(
- Display *dpy,
- int screen,
- Colormap cmap
- );
-
- Colormap XDGACreateColormap(
- Display *dpy,
- int screen,
- XDGADevice *device,
- int alloc
- );
-
- void XDGASelectInput(
- Display *dpy,
- int screen,
- long event_mask
- );
-
- void XDGAFillRectangle(
- Display *dpy,
- int screen,
- int x,
- int y,
- unsigned int width,
- unsigned int height,
- unsigned long color
- );
-
-
- void XDGACopyArea(
- Display *dpy,
- int screen,
- int srcx,
- int srcy,
- unsigned int width,
- unsigned int height,
- int dstx,
- int dsty
- );
-
-
- void XDGACopyTransparentArea(
- Display *dpy,
- int screen,
- int srcx,
- int srcy,
- unsigned int width,
- unsigned int height,
- int dstx,
- int dsty,
- unsigned long key
- );
-
- int XDGAGetViewportStatus(
- Display *dpy,
- int screen
- );
-
- void XDGASync(
- Display *dpy,
- int screen
- );
-
- Bool XDGASetClientVersion(
- Display *dpy
- );
-
- void XDGAChangePixmapMode(
- Display *dpy,
- int screen,
- int *x,
- int *y,
- int mode
- );
-
-
- void XDGAKeyEventToXKeyEvent(XDGAKeyEvent* dk, XKeyEvent* xk);
-
-
- _XFUNCPROTOEND
- #endif /* _XF86DGA_SERVER_ */
- #endif /* _XF86DGA_H_ */
-